Multi-process processing technology has been considered an important technology in a computing environment. Recently, a portable electronic device, such as a smart phone, a tablet Personal Computer (PC), or the like, which includes the functions of a portable terminal in addition to the functions of a general PC or a Personal Digital Assistant (PDA), have come into the spotlight. Increasingly, smart phones or the tablet PCs include a high capacity memory and a high performance CPU, and include a software platform (hereinafter referred to as a platform) for supporting the execution of various applications that require complex and advanced tasks, voice/data communication, interoperation with a PC, or the like. Thus, the importance of multi-process processing technology for portable electronic devices that have limited hardware resources such as a limited amount of power, a limited storage space, or the like is also increasing.
A platform that is driven in an electronic device needs to effectively manage the limited resources, and, thus, a process management module of the platform actively participates in operating the process that is currently driven. For example, the process management module may transfer a process which is relatively less frequently used from a Random Access Memory (RAM), which is a system memory, to a storage memory, so as to overcome the limitation of the limited RAM capacity. As another example, to overcome the limited amount of power, when the process management module executes a multi-process function, the process management module drives a single process at a time, and supports a driving state transition among a plurality of processes in response to a request from a user or a system so as to make it seem to a user as though the plurality of processes are executed simultaneously.
FIG. 1 is a view illustrating an example of a state transition diagram of a process according to the related art.
Referring to FIG. 1, the process management module of the platform defines the state of a process based on a process life cycle policy and uses a method of transitioning the state of the process. For example, the process management module may manage the state of a process by defining the state of the process to be one of the three states: “running,” “ready,” and “blocked.” The “running” state refers to a state in which the process is actually driven by a platform, and a process in a “running” state is loaded to a RAM and the power of the electronic device is used for driving the loaded process. The “ready” state refers to a state that is ready for transition to the “running” state, and a process in a “ready” state is loaded to a RAM but the power of the electronic device is not used. The “blocked” or “suspended blocked” state refers to a state that may be transitioned to the “running” state or “ready” state, and a process in a “blocked” state is not loaded to a RAM and the power of the electronic device is not used.
The process management module may transition the state of each process so as to maximally utilize resources of the electronic device based on the process life cycle policy. For example, when the transition frequently occurs among the processes, at least one process is determined to be the “running” or “ready” state. As another example, when a predetermined process requires RAM space with a large capacity, the process that is currently loaded to the RAM as the “ready” state may be deleted from the RAM by transitioning the state to the “blocked” state.
The above information is presented as background information only to assist with an understanding of the present disclosure. No determination has been made, and no assertion is made, as to whether any of the above might be applicable as prior art with regard to the present disclosure.